﻿using BLL.Models.Administrators;
using BLL.Models.Users;
using BLL.Services.Users;

namespace BLL.Security
{
    public class EnvironmentContext : IEnvironmentContext
    {
        public EnvironmentContext(User user, Administrator administrator, bool isSystem)
        {
            User = user;
            Administrator = administrator;
            System = isSystem;
        }

        /// <summary>
        /// Gets user information current code is being executed under.
        /// </summary>
        public User User { get; private set; }

        /// <summary>
        /// Gets the administrator.
        /// </summary>
        public Administrator Administrator { get; private set; }

        /// <summary>
        /// Gets a value indicating whether this <see cref="EnvironmentContext"/> is system.
        /// </summary>
        /// <value>
        ///   <c>true</c> if system; otherwise, <c>false</c>.
        /// </value>
        public bool System { get; private set; }
    }
}